package com.zhongwang.mms.module.buy.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

/**
 * @Description:
 * @Author: China.sgl
 * @Date: 2020/4/9 17:52
 */
@Data
public class Project {

    private Integer id;

    private String code; // 项目号

    private String codeSpecial; // 任务单号

    private Integer special = 0; // 特殊 1: 吊车 项目号Z开头   2：管道 项目号Y开头

    private String name; // 项目名称

    private String address; // 安装地点

    private String demander; // 甲方

    private Integer num; // 数量

    private String unit; // 单位

    private String comment; // 备注

    private Integer status = 1; // 状态 0：取消项目   1：未下达任务单   2：已下达任务单   3：暂停项目   4,已完成

    private Integer focus = 0; // 重点项目 1， 非重点0

    private Integer projectClassify = 1; // 项目分类 1：设计类   2：非设计类

    private Integer preStatus; // 修改状态操作之前状态值

    private Integer orderNo = 0; // 优先排序

    private String principal; // 委托人

    private String tel; // 联系方式

    private String performanceNote; // 绩效备注字段

    private String designDepts; // 设计任务参与部门

    private String produceDepts; // 生产任务参与部门

    private String processDepts; // 工艺任务参与部门

    private Integer designTaskStatus = 0; // 设计任务状态  0：未开始  1：执行中   2：已完成

    private Integer sectionTaskStatus = 0; // 科室任务状态  0：未开始  1：执行中   2：已完成

    private Integer processTaskStatus = 0; // 工艺任务状态  0：未开始  1：执行中   2：已完成

    private Integer produceTaskStatus = 0; // 生产任务状态  0：未开始  1：执行中   2：已完成

    private Integer projectTaskStatus = 1; // 项目任务状态  0：未开始  1：执行中   2：已完成

    private Integer material = 0; // 材料

    private Integer design = 0; // 设计

    private Integer made = 0; // 制造加工

    private Integer antiseptic = 0; // 防腐

    private Integer install = 0; // 安装

    private Integer debug = 0; // 调试

    private Integer transport = 0; // 运输

    private Integer generalDept = 0; // 综合部是否同意 1：同意 0：未审

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date generalDeptTime; // 审核时间

    private Integer designDept = 0; // 设计部是否同意

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date designDeptTime; // 审核时间

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date designPlanTime; // 设计计划完成时间

    private Integer designPlanDate; // 设计计划完成时间  -1 : 待定  0：不需要  大于0月数

    private String designStr; // 页面显示字符串

    private Integer produceDept = 0; // 生产部是否同意

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date produceDeptTime; // 审核时间

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date producePlanTime; // 生产计划完成时间

    private Integer producePlanDate; // 生产计划完成时间

    private String produceStr; // 页面显示字符串

    private Integer stringFlag = 2; // 标记字段 任务单

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date planStartTime;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date planEndTime;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime = new Date(); // 创建时间

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date planTime; // 项目计划完成时间

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date completeTime; // 完成时间

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date deliveryDate; // 交货日期

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date designCompleteTime; // 设计任务完成时间

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date sectionCompleteTime; // 设计任务完成时间

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date produceCompleteTime; // 生产任务完成时间

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date processCompleteTime; // 工艺任务完成时间
}
